Cloud computing is Internet-based computing, where shared resources, software, and information are provided to computers and other devices on demand, somewhat like an electricity grid. Cloud computing is a paradigm shift in the computer field. Details are abstracted from the users, who no longer have need for expertise in, or control over, the technology infrastructure “in the cloud” that supports them. Cloud computing describes a new supplement, consumption, and delivery model for IT services based on the Internet, and it typically involves over-the-Internet provision of dynamically scalable and often virtualized resources.
One cloud computing resource is data storage. Enterprise storage clouds are comprised of multiple layers of software and hardware components, all of which need to be correctly configured for proper functioning of the storage cloud service. For example, a Network Attached Storage (NAS)-based storage cloud is typically comprised of storage subsystems, inter-connection fabric (fiber channel, InfiniBand, Ethernet, etc.), storage nodes, interface nodes, file system, etc. System administrators rely on a litany of management tools to manage and configure these components individually and provision storage resources for end-users. Such independent management may be costly, error-prone and time-consuming and may either result in under-provisioning or suboptimal utilization of resources.
United States Patent Application 20120042055 teaches an integrated provisioning framework that automates the process of provisioning storage resources, end-to-end, for an enterprise storage cloud environment. Such embodiments configure and orchestrate the deployment of a user's workload and, at the same time, provide optimization across a multitude of storage cloud resources. Along these lines, input is received in the form of workload requirements and configuration information for available system resources. Based on the input, a set (at least one) of storage cloud configuration plans is developed that satisfy the workload requirements. A set of scripts is then generated that orchestrate the deployment and configuration of different software and hardware components based on the plans.